/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tarifador.controller;

import br.com.tarifador.dao.TarifadorDao;
import br.com.tarifador.model.Senha;
import br.com.tarifador.model.UsuarioRamal;
import java.util.List;

/**
 *
 * @author charles
 */
public class SenhaRN {

    private TarifadorDao<Senha> dao;
    private Senha senha = new Senha();
    private String messagemCount;

    public boolean salvaSenha() {
        dao = new TarifadorDao<Senha>(Senha.class);
        boolean valida = false;
        if (senha != null) {
            valida = dao.save(senha);
            countSenha();
        }
        return valida;
    }

    public boolean updateSenha(Senha password) {
        dao = new TarifadorDao<Senha>(Senha.class);
        boolean valida = false;
        if (senha != null) {
            senha.setId(password.getId());
            valida = dao.update(senha);
        }
        return valida;
    }

    public void limparCampos() {
        this.senha.setDescricao("");
        this.senha.setSenha("");

    }
    public String countSenha() {
        dao = new TarifadorDao<Senha>(Senha.class);
        Long valor = dao.countAllObject();
        return this.messagemCount = valor.toString() + " senhas cadastrados.";
    }

    public boolean deletaSenha(Long idSenha) {
        dao = new TarifadorDao<Senha>(Senha.class);
        boolean valida = false;
        if (idSenha != null) {
            senha.setId(idSenha);
            valida = dao.delete(senha);
            countSenha();
        }
        return valida;
    }

    public List<Senha> listaDeSenhas() {
        dao = new TarifadorDao<Senha>(Senha.class);
        List<Senha> lista = dao.listall();
        return lista;
    }

    public List<UsuarioRamal> carregaUsuarioRamal() throws NullPointerException {
        TarifadorDao<UsuarioRamal> dao = new TarifadorDao<UsuarioRamal>(UsuarioRamal.class);
        return dao.listall();
    }

    public String sobreSenha() {
        String texto = "A senha é um valor cadastrado no PABX, que dependendo da configuração do PABX "
                + "o usuário e obrigado a digitar a senha cadastrada para realizar ligações externas."
                + "Essa informação é discriminada no bilhete da ligação.";
        return texto;
    }

    public Senha getSenha() {
        return senha;
    }

    public void setSenha(Senha senha) {
        this.senha = senha;
    }

   

    public String getMessagemCount() {
        return messagemCount;
    }

    public void setMessagemCount(String messagemCount) {
        this.messagemCount = messagemCount;
    }

    public TarifadorDao<Senha> getDao() {
        return dao;
    }

    public void setDao(TarifadorDao<Senha> dao) {
        this.dao = dao;
    }
    
}
